home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
076-100
/
scopedisk93
/
wbres
/
wbres.doc
< prev
next >
Wrap
Text File
|
1995-03-19
|
16KB
|
323 lines
WBRes Documentation
Program:
WBRes 1.1.
Purpose:
To allow WB users to have "resident" programs. As in the resident
capability of WShell, AShell, and the WB1.3 Shell. WBRes came into
being at the tail end of a failed attempt to do (on a single-program
scale) the same thing for ty. The original problem was how to reduce
the time required to load to load ty when reading a text file on the
NZAmigaUG Newsdisks, which are bootable, and boot into the WB
environment. Hence the Autoicon and CLI arg features, for use in a
startup script.
Author:
John Bickers (JJB TEMPLAR),
214 Rata St,
Naenae 6301,
New Zealand.
Usage:
----- Starting WBRes -----
WBRes can be started from either CLI or Workbench. Some of the possible
errors that can occur at this point are:
Someone's got the DOS "vectors"!
WBRes has to intercept the AmigaDOS functions "LoadSeg" and
"UnLoadSeg". The method involved creates a lot of problems (partly
because of the format of the DOS "vector" table) if the vectors
have already been intercepted, and/or WBRes or other interceptors
are allowed to terminate. This is also how WBRes tells whether or
not it is already present in the system.
Workbench isn't there!
WBRes requires the Workbench task to have been started before WBRes
installs itself. If it hasn't been loaded, then there is no point
in running WBRes anyway.
These errors are not reported if the program was started from the WB.
So to determine what's going on, try starting WBRes from a CLI.
CLI arguments:
The format is: WBRes [<-opt>] [<file>]
where [] means optional, <> means 1 or more.
The options are:
'?' : Give a brief help message.
'I' : Set Autoicon flag to ON.
'a' : Toggle the state of the "active" flag when loading
programs from the following CLI argument list. This flag starts
in the ON position. For example, entering:
1> WBRes c:ty -a c:more -a c:display
will load the programs as follows:
ty: active
more: inactive
display: active
'i' : Toggle the state of the "ignore checksum" mode. Works in
the same way as the 'a' flag, but starts in the OFF position.
WB arguments:
These are contained in the ToolTypes array of the WBRes icon. In order
to scan for arbitrary filenames, these do not work exactly like they
normally do. So if you plan to use these arguments, please take note.
The icon is NOT checked if WBRes was started from the CLI.
The ToolType entries are understood as follows:
ICONIFY=ON .............. This literal string sets Autoicon to ON.
[*[<a|i| >]=]filename ... This specifies "filename" as a file to be
loaded by WBRes. The optional modes string allows you to
specify the state of the "active" and "ignore checksum" flags
when loading. The default states for each file are active = on,
ignore checksum = off.
The following (between "") are example lines from the ToolTypes array.
×» "ICONIFY=ON"
Sets Autoicon to ON. Note that ICONIFY=OFF is NOT the reverse.
×» "AmigaLibDisk230:Fedup/Fedup"
This would load Fedup, from the disk AmigaLibDisk230.
×» "*ai=AmigaLibDisk230:Fedup/Fedup"
This would load Fedup, but with the active mode off, and the ignore
checksum mode on.
×» "*aia i=My Boot Disk:c/more"
This would load more. Note that the redundant flags in the modes
string have no effect. They do NOT act as toggles.
----- The display -----
The resident list is displayed in the grey square to the left. Use
the scroll bar, arrow gadgets, or up/down keys to move up and down the
list if it is too long to be displayed all at once.
The current command, if there is one, is shown in the black rectangle
in the lower right. Above this rectangle are the main control Gadgets.
The format of an entry in the display list indicates the state of the
program for that entry (or node).
A white circle filled with red means this node is "active".
An empty white circle means this node is not "active".
A small x means this node has a bad checksum.
Red text means you want the checksum ignored for this node.
A name without a usage count, no small image, and a name in
brackets following it, means this node is an alias.
The 3 digits to the right are the lower 3 decimal digits of the usage
count that is kept for that program.
Whenever the main window is opened, the current Workbench colors are
saved, and WBRes' palette is loaded. There is a reason for this, which
I'll get to. When the window is closed (ie: terminating, or Iconifying)
the old colors are put back. I'll use Preferences to do this when it
becomes necessary (WB1.4?).
Now the reason. When adding gadgets to ty, I come in for some criticism
to do with how the gadgets looked when certain unsensible people used
certain unsensible color schemes for their Preferences. By unsensible I
mean colors that didn't match mine! Shadowed text was the worst
affected, but my small (also shadowed) gadgets were pretty bad too. So
WBRes sets the colors to what I use. And since I expect it to be
Iconified most of the time, that's OK. Just endure my colors while
actually using my program.
Most gadgets, etc, use the topaz 8 font where I was able to get them
to. However, the window title is not changed, and the font used in the
string requester is not changed. They will be, as soon as I figure out
how to accomplish it. The point of worrying about what fonts are being
used is that some people do regularly use strange fonts, and programs
that don't take account of this do not look nice.
----- Operations -----
Some operations require a "current node" to be selected. To do this,
click on the name of a program in the displayed resident list. If no
programs are displayed, then load one/some.
Load ......
This loads a command. A simple string gadget is used. If or
when I get the docs for the ARP requester, I will use that too.
Though I'd prefer it if CBM put RJMical's requester into the system
somewhere (with hooks to change the gadget imagery?), since the
ARP requester re-reads the disk every time it's visited, and
updates the file list in a silly way. For great design, see RJM's,
on Fish107.
Delete ....
This removes the current program from the resident list. It
requires you to verify the deletion. A reason this may not work is
that the current program has an invocation running. In this case it
would not be safe to remove it from the list. Actually, it is safe,
but there are problems.
If you delete an alias, only the alias node will be removed. If you
delete a node that has aliases bound to it, all the aliases will be
deleted too.
Pick ......
Clicking on a program name in the list display will make
that program the current node. This must be used before the node-
specific operations, like "Delete", etc.
Activate ..
Clicking on the white circle at the left of a program name
in the display list will toggle that node's "active" state. If a
program is not active, then the resident copy of the program will
be bypassed. An active node is indicated by a white circle filled
with red.
Ignore ....
This toggles a flag telling WBRes to ignore the checksum
used to verify a program's purity. This is based on the way WHawes'
"resi" command does things. It is necessary for programs like CBM's
"more", which work as resident programs, but do get a bad checksum
error. Programs with this flag ON are drawn as red, with no shadow.
Rename ....
Rename the current node. The new name can be up to 30-odd
characters, a little bit more than DOS itself allows, though that
wouldn't generally be useful to you. You are not allowed to use
names already present on the list. There are reasons for using this
as well as having an "Alias" operation, like renaming aliases.
Alias .....
Define an alias for the current node. You are not allowed
to use names already present on the list. If the current node
itself is an alias, then the new alias is bound onto the real node
that the current node is bound to. So the aliases are only one
level deep. Note that only programs loaded into WBRes can have
aliases. A general Workbench alias capability can be added, but
only if demand is great enough.
As to why there is an alias command, a good example is PD disks and
text display programs. My second favorite (next to "more v3.23"),
and the one I use from WB, is "ty1.3". This is primarily due to the
fact that I had a hand in writing it. Anyway, it is not used on any
PD disks other than the NZAmigaUG's. So by loading it into WBRes,
then defining a series of aliases, like "more" (AMICUS & TBAG),
"most" (AmigaTECH), "PrinText" (AmsMag), "QView" (Amigan), "Less"
and "Muchmore" (AmigaLibDisks), etc, I can browse through text
files with a single text reader.
Iconify ...
This makes WBRes Iconify. Leo Schwab's excellent Iconify
function from Fish126 is used for this. To de-iconify the program,
double-click on the small image.
Help.......
This displays a few fairly meagre help "screen"s.
Quit ......
Will terminate WBRes. It will not terminate if there are
any programs on the list that have a current invocation running.
Any commands not running will be deleted, as will all aliases.
----- Controls -----
By operation, the controls are:
Load ...... LOAD gadget, or press 'L'.
Delete .... DELETE gadget, or press 'DEL'.
Pick ...... Explained above.
Activate .. Explained above.
Ignore .... IGNORE gadget, or press 'I'.
Rename .... Press 'R'.
Alias ..... Press 'A'.
Iconify ... ICON gadget, or press 'F1' (as in Conman).
Help ...... HELP gadget, or press 'HELP'.
Quit ...... QUIT gadget, close window, or press 'ESC'.
In addition, you can "next-page" the help displays by pressing 'SPACE',
and use the arrow keys, scroll bar, or arrow gadgets to move up and
down within the display list.
The JJB/TEMPLAR gadget is my semi-active logo, and doesn't do much.
----- The future -----
Depending on the demand, and the availability of documentation, I would
like to add (at least) the following:
×» Scanning WShell's resident list. And CBM's and ARP's if possible.
Also, if it doesn't make WBRes redundant, I'll update it to handle
Workbench 1.4. I can, if there's any demand for it, get WShell to
make use of my list using the method outlined in Appendix B of "The
Beachcomber's Guide to the WShell". Also, if I do get to use the
WShell resident list, then I won't do CBM's or ARP's. Almost
everyone should buy WShell anyway, to make up for not paying the
shareware on Conman.
×» Using a "real" file requester.
×» Alias specifications as arguments.
×» And ENV: or S: argument capability (probably S:, as it'll be multi-
line).
----- Known problems -----
There are several "critical" sections in this program, that I have not
protected. In practice it appears they zip by too fast for the user to
be able to cause a GURU, but if there are problems I'll add the protect
code. I'd like to evaluate the necessity for it first.
Intercepting the DOS functions was not a happy task. I make one or two
assumptions about the format of the DOS library that may break with
KS1.3 or higher. Let me know.
WB1.4 has been rumored to multitask. This may cause a problem, if the
"Workbench" task is not the one that calls LoadSeg for Workbench. But
then CBM may have a WB resident capability of their own, so there won't
be any need for WBRes.
Distribution:
This program is almost freely redistributable. That is, anyone may
distribute it provided the following requirements are met:
1) This documentation file accompanies it.
2) The distribution is non-commercial in nature, with the exception of
WHawes' WShell. AmigaLibDisk would be great, as would any other PD
disks. Non-PD disks, like DevDisk, are not.
3) Neither WBRes nor this doc file are altered, other than for
archiving purposes (this means YOU, Tony! :-).
4) It's understood that I accept no responsibility for any losses this
program may cause. It hasn't done anything bad on my machine, if
that's any consolation.
While this program is freely redistributable, it is:
1) Copyright © 1989 by John Bickers.
Actually, this isn't formally registered anywhere, if that's
necessary, so perhaps it isn't. Oh well :-).
2) Shareware. The amount is up to you. The obligation is entirely
moral, and only required if you use this program often.
Experimenting is free. Please note that I'm currently unemployed,
and have 104 children to feed, put through school, etc (**), so I
need every cent.
This is all negotiable, but with me, and probably at some cost.
My "policy" on this shareware stuff is:
1) The top $5 is a contribution, and pays for registration.
2) Every $5 after that is also a contribution, but pays for postage of
updates, etc, if there are any.
3) The top $5 may be replaced by non-financial rewards like:
Used electronic music (eg: DEVO, Men Without Hats).
PD stuff.
Or whatever. As long as I won't be had up by the Customs Dept.
4) Any problems/complaints will only be answered if the person
involved is a registered user, or one of the people named below.
IE: if I shake the envelope, and only a letter falls out, both go
into the dustbag (after I've secured the stamp :-).
5) The actual funds may be in any legal currency. I was going to
specify $NZ drawn on an NZ bank, like the Yanks specify $US, but
thought better of it.
The following people are exempt from the shareware burden:
Tony Wills, Fred Fish,
Will Hawes, Leo Schwab,
and past and present employees of CBM, or companies related to CBM.
Complaints/Suggestions/Questions:
Contact:- John Bickers,
214 Rata St,
Naenae 6301,
New Zealand.
Phone:- (04) 672-085.
** The part about the kids is not actually true. But I do need to keep my
machine out of repossession.